package com.heima.apis.wemedia;

import com.heima.model.common.dto.ResponseResult;
import com.heima.model.wemedia.pojo.WmNews;
import com.heima.model.wemedia.pojo.WmUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @author Ronaldo
 * @date 2021/8/1
 */
@FeignClient("leadnews-wemedia")
public interface IWeMediaClient {

    /**
     * 创建自媒体用户
     * @param wmUser
     * @return
     */
    @PostMapping("/api/v1/user/save")
    public ResponseResult save(@RequestBody WmUser wmUser) ;

    /**
     * 根据用户名查询自媒体用户
     * @param name
     * @return
     */
    @GetMapping("/api/v1/user/findByName/{name}")
    public WmUser findByName(@PathVariable("name") String name);

    /**
     * 根据id查询文章信息
     * @param id 文章id
     * @return WmNews
     */
    @GetMapping("/api/v1/news/findOne/{id}")
    public WmNews findNewsById(@PathVariable("id") Integer id);

    /**
     * 更新文章
     * @param news 文章内容
     * @return ResponseResult
     */
    @PostMapping("/api/v1/news/update")
    public ResponseResult updateNews(@RequestBody WmNews news);

    /**
     * 查询需要发布的文章id
     * @return 文章id集合
     */
    @GetMapping("/api/v1/news/findRelease")
    public List<Integer> findReleaseNewsId();
}
